Abstract: In the rapidly growing world, the concept of the traditional development needs to evolve. The agile methodology is a more acceptable practice, based on producing software at a more rapid pace, while still maintaining efficiency. This being particularly useful for smaller software production firms with limited resources. The agile methodology emphasizes on the quality issue and provides a very stable backbone for today's software development. In this report we discuss the history of agile methodology, in a general context, with listing of the agile manifesto and the agile principles. We explain four of the existing agile methodologies with more focuses on the famous and mostly known agile process: the Extreme Programming. The report includes a discussion about the critical success factors, benefits and weakness of the agile methodologies based on a number of existing surveys with some real world examples that shows some of Agile methodology's advantages and disadvantages.
Keywords: Agile Methodology, Progressive Product Development, Extreme Programming, Non-Agile Projects.